gsk: Add GSK_RENDERING_MODE=full-redraw
authorBenjamin Otte <otte@redhat.com>
Mon, 26 Dec 2016 23:33:34 +0000 (00:33 +0100)
committerBenjamin Otte <otte@redhat.com>
Mon, 26 Dec 2016 23:48:00 +0000 (00:48 +0100)
commit68b39a47278bd9c2fde28c0787a3fd45769b8687
treebd2b54642eae47e7428288bda4e53ad07021dff8
parenta5f8a74ec1d7390c81f4cbae9b84ca942b879233
gsk: Add GSK_RENDERING_MODE=full-redraw

Forces a full redraw every frame.
This is done generically, so it's supported on every renderer.

For widget-factory first page (with the spinner spinning and progressbar
pulsing), I get these numbers per frame:

action                  clipped         full redraw
snapshot                   0ms           7-10ms
cairo rendering            0ms          10-15ms
Vulkan rendering         3-5ms          18-20ms
Vulkan expected *          0ms            1-2ms
GL rendering            unsupported     55-62ms

* expected means disabling rendering of unsupported render nodes,
instead of doing fallback drawing. So it overestimates the performance,
because borders and box-shadows are disabled.
gsk/gskdebug.c
gsk/gskdebugprivate.h
gsk/gskrenderer.c